import 'package:flutter/material.dart';
void main() {
runApp(const MaterialApp(home: Main()));
}

 class Main extends StatefulWidget{
  const Main({super.key});
 @override
  _MainState createState() {
    print('createState - 1. 创建');
    return _MainState();
  }
}
class _MainState extends State<Main> {
  // 组件内的状态
  int age = 29;
  // createState(){
  //   print('createState -2 创建状态');
  // }
  
  @override
  void initState(){
    print('initState -2 初始化状态');
    super.initState();
  }
@override
void didChangeDependencies() {
  print('didUpdateWidget -3 更新状态');
  super.didChangeDependencies();
}
  @override
  void didUpdateWidget(covariant Main oldWidget) {
    print('didUpdateWidget------');
    super.didUpdateWidget(oldWidget);
  }
  // 这个  widget 是应用程序的根
  @override
  Widget build(BuildContext context) {
     print('build - 4. 构建');
    // 指定UI  程序风格
    return Scaffold(
    appBar: AppBar(
        title: const Text('有状态组件'),
      ),
 body: Center(
        child: Text('我今年$age岁了'),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          // 重要：setState 更新 数据 + 界面
          setState(() {
            age++;
          });
          print(age);
        },
        child: const Icon(Icons.add),
      ),
    );
  }

  @override
  void deactivate() {
    print('deactivate - 5. 卸载');
    super.deactivate();
  }

  @override
  void dispose() {
    print('dispose - 6. 销毁');
    super.dispose();
  }
}